home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t9.d64 / super mind.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  8KB  |  282 lines

  1. 4 PRINT"[147]":POKE53281,11:POKE53280,13
  2. 5 INPUT"DO YOU WANT COLOUR?(Y/N)";V$
  3. 7 IF V$="Y" THEN 10
  4. 8 IF V$="N" THEN 5000
  5. 9 PRINT"Y[146] OR N[146]!!!":GOTO 6
  6. 10 POKE 53281,0:POKE 53280,0:PRINT"[147][159]MASTERMIND"
  7. 20 PRINT"[156]COLOUR VERSION"
  8. 30 PRINT"BY [158]NIKI [129]TIMAR"
  9. 35 GOSUB 1300
  10. 40 PRINT"HIT ANY KEY TO CONTINUE[146]"
  11. 50 GET S$:IFS$=""THEN GOSUB1320:GOTO50
  12. 60 K=INT(8*RND(1))+3
  13. 70 POKE 53281,00:POKE 53280,K
  14. 80 PRINT"[147]"
  15. 90 PRINT"       [129]***[159]*[156]**[154]M[158]A[129]S[149]T[150]E[159]R[152]M[153]I[154]N[155]D[146][129]***[159]*[156]**"
  16. 100 PRINT"         *[158]*[129]C[149]O[150]L[151]O[152]U[153]R [154]V[155]E[129]RSI[159]O[156]N[146]**"
  17. 110 PRINT""
  18. 120 PRINT"         [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  19. 130 PRINT"         [212]  MASTERMIND[146]  [217]"
  20. 140 PRINT"         [212]   ???????? [146]  [217]"
  21. 150 PRINT"         [212] ..  [213][201][213][201][213][201][213][201] [217]"
  22. 160 PRINT"         [212]8..  [202][203][202][203][202][203][202][203] [217]"
  23. 170 PRINT"   [164]     [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  24. 180 PRINT" 1=[204][165]    [212]7..  [202][203][202][203][202][203][202][203] [217]"
  25. 190 PRINT" 2= [146]     [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  26. 200 PRINT" 3= [146]     [212]6..  [202][203][202][203][202][203][202][203] [217]  [209]=CORRECT"
  27. 210 PRINT"[160]4=[159] [146][160][160][160][160][160][212] ..[160][160][213][201][213][201][213][201][213][201][160][217]  COLOUR"
  28. 220 PRINT" 5=[156] [146]     [212]5..  [202][203][202][203][202][203][202][203] [217]  BUT IN"
  29. 230 PRINT" 6= [146]     [212] ..  [213][201][213][201][213][201][213][201][160][217]  WRONG"
  30. 240 PRINT" 7= [146]     [212]4..  [202][203][202][203][202][203][202][203] [217]  POSITION"
  31. 250 PRINT" 8=[158] [146]     [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  32. 260 PRINT"         [212]3..  [202][203][202][203][202][203][202][203] [217]  [215]=CORRECT"
  33. 270 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]  COLOUR"
  34. 280 PRINT"         [212]2..  [202][203][202][203][202][203][202][203] [217]  IN CORRECT"
  35. 290 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]  POSITION"
  36. 300 PRINT"         [212]1..  [202][203][202][203][202][203][202][203] [217]"
  37. 310 PRINT"         [212]              [217]"
  38. 320 PRINT"         [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
  39. 330 PRINT"HOW MANY"
  40. 340 PRINT"COLOURS"
  41. 350 PRINT"DO YOU"
  42. 360 PRINT"WANT(1-8)?";
  43. 370 GET L$:IF L$="" THEN 370
  44. 380 IF ASC(L$)<49ORASC(L$)>48+8THEN 370
  45. 390 PRINTL$
  46. 400 L=VAL(L$)
  47. 410 D(1)=INT(L*RND(TI))+1:C(1)=D(1)
  48. 420 D(2)=INT(L*RND(TI))+1:C(2)=D(2)
  49. 430 D(3)=INT(L*RND(TI))+1:C(3)=D(3)
  50. 440 D(4)=INT(L*RND(TI))+1:C(4)=D(4)
  51. 450 PRINT"WHAT ARE"
  52. 460 PRINT"YOUR"
  53. 470 PRINT"GUESSES?"
  54. 480 FOR X=1 TO 8
  55. 490 FOR J=1 TO 4:C(J)=D(J):NEXTJ
  56. 500 FOR K=1TO4
  57. 510 DE=1
  58. 520 J=K
  59. 530 GET B$(J)
  60. 540 IF B$(J)=""THEN530
  61. 550 IF B$(J)=CHR$(20)AND J>1 THEN DR=1:J=J-1:GOTO 590
  62. 560 IF ASC(B$(J))<49 OR ASC(B$(J))>48+L THEN 530
  63. 570 REM PRINTB$(J)
  64. 580 B(J)=VAL(B$(J))
  65. 590 ON X GOSUB 880,900,920,940,960,980,1000,1020
  66. 600 IF DR=1 THEN DR=0:DS=DS+1:GOTO 530
  67. 610 IF DS>0 THEN J=J+1:DS=DS-1:GOTO530
  68. 620 IF DE=0 ANDDS=0 THEN DE=DE+1:GOTO650
  69. 630 NEXT K
  70. 640 J=5
  71. 650 GETA$:IFA$=""THEN650
  72. 660 IF A$=CHR$(20)THENDR=1:DS=-1:J=J-1:DE=0:GOTO590
  73. 670 IFA$=CHR$(13)THEN680
  74. 680 M=0:N=0
  75. 690 FOR I=1 TO 4
  76. 700 IF C(I)=B(I) THEN M=M+1:C(I)=0:B(I)=20
  77. 710 NEXT I
  78. 720 Y=T-10
  79. 730 IF M=4 THEN 1110
  80. 740 FOR S=1 TO 4
  81. 750 FOR V=1 TO 4
  82. 760 IF B(S)=C(V) THEN N=N+1:B(S)=20:C(V)=0
  83. 770 NEXT V:NEXT S
  84. 780 Y=T-10
  85. 790 IF M=1 THEN POKE Y,87
  86. 800 IF M=2 THEN POKE Y,87:POKE Y+1,87
  87. 810 IF M=3 THEN POKE Y,87:POKE Y+1,87:POKE Y+41,87
  88. 820 IF N=1 THEN POKE Y+40,81
  89. 830 IFN=2THEN POKE Y+40,81:POKE Y+41,81
  90. 840 IF N=3 THEN POKE Y+40,81:POKE Y+41,81:POKE Y+1,81
  91. 850 IF N=4 THEN POKE Y+40,81:POKE Y+41,81:POKE Y+1,81:POKE Y,81
  92. 860 NEXT X
  93. 870 GOTO 1140
  94. 880 T=1877
  95. 890 GOTO 1040
  96. 900 T=1797
  97. 910 GOTO 1040
  98. 920 T=1717
  99. 930 GOTO 1040
  100. 940 T=1637
  101. 950 GOTO 1040
  102. 960 T=1557
  103. 970 GOTO 1040
  104. 980 T=1477
  105. 990 GOTO 1040
  106. 1000 T=1397
  107. 1010 GOTO 1040
  108. 1020 T=1317
  109. 1030 GOTO 1040
  110. 1040 T=T+2*J:T1=T+54272
  111. 1050 IF DR=1 THEN POKET1,1:POKET1+1,1:POKET1+40,1:POKET1+41,1
  112. 1060 IFDR=1 THEN POKET,85:POKET+1,73:POKET+40,74:POKET+41,75:RETURN
  113. 1070 POKE T,108:POKE T+1,123:POKE T+40,124:POKE T+41,126
  114. 1080 IFB(J)=1THENPOKET,112:POKET+1,110:POKET+40,109:POKET+41,125:GOTO 1100
  115. 1090 POKE T1,B(J)-1:POKE T1+1,B(J)-1:POKE T1+40,B(J)-1:POKE T1+41,B(J)-1
  116. 1100 RETURN
  117. 1110 IF M=4 THEN POKE Y,87:POKE Y+1,87:POKE Y+41,87:POKE Y+40,87
  118. 1120 IF X=1 THEN PRINT"PERFECT IN 1 TRY!!DID YOU CHEAT?!?":GOTO 1140
  119. 1130 PRINT"PERFECT IN";X;"TRIES!!!"
  120. 1140 FOR J=1 TO 4:B(J)=D(J)
  121. 1150 T=1235
  122. 1160 GOSUB 1040
  123. 1170 NEXT J
  124. 1180 PRINT"DO YOU"
  125. 1190 PRINT"WANT TO"
  126. 1200 PRINT"PLAY"
  127. 1210 INPUT"AGAIN";R$
  128. 1220 IF LEFT$(R$,1)="Y" THEN 60
  129. 1230 PRINT"[147]"
  130. 1240 END
  131. 1250 REM
  132. 1260 REM     ********************
  133. 1270 REM  ****** TITLE BORDER ******
  134. 1280 REM     ********************
  135. 1290 REM
  136. 1300 BX=4:BY=3:BW=7:BV=6
  137. 1320 FOR BI=1 TO 40 STEP4
  138. 1330 POKE1023+BI,81:POKE55295+BI,BX:POKE1024+BI,81:POKE55296+BI,BY
  139. 1340 POKE 1025+BI,81:POKE 55297+BI,BW:POKE 1026+BI,81:POKE 55298+BI,BV
  140. 1350 POKE2024-BI,81:POKE56296-BI,BX:POKE2023-BI,81:POKE56295-BI,BY
  141. 1360 POKE 2022-BI,81:POKE 56294-BI,BW:POKE2021-BI,81:POKE 56293-BI,BV
  142. 1370 NEXTBI
  143. 1380 FOR BI=1TO23 STEP 4
  144. 1390 POKE1984-40*BI,81:POKE56256-40*BI,BX:POKE1984-40*(BI+1),81:POKE56256-40*(BI+1),BY
  145. 1400 POKE1984-40*(BI+2),81:POKE56256-40*(BI+2),BW
  146. 1410 POKE1984-40*(BI+3),81:POKE56256-40*(BI+3),BV
  147. 1420 POKE1063+40*BI,81:POKE55335+40*BI,BX:POKE1063+40*(BI+1),81:POKE55335+40*(BI+1),BY
  148. 1430 POKE1063+40*(BI+2),81:POKE55335+40*(BI+2),BW
  149. 1440 POKE1063+40*(BI+3),81:POKE55335+40*(BI+3),BV
  150. 1450 NEXTBI
  151. 1460 BZ=BX:BX=BY:BY=BW:BW=BV:BV=BZ:RETURN
  152. 4000 REM
  153. 4010 REM**************************
  154. 4020 REM****    MASTERMIND    ****
  155. 4030 REM**************************
  156. 4040 REM
  157. 5000 PRINT"[147]MASTERMIND[146]"
  158. 5010 PRINT"BY NIKI TIMAR"
  159. 5020 GOSUB 1300
  160. 5030 PRINT"HIT ANY KEY TO CONTINUE[146]"
  161. 5050 GET S$:IFS$=""THEN GOSUB1320:GOTO5050
  162. 5080 PRINT"[147]"
  163. 5085 PRINT"   "
  164. 5090 PRINT"       ******MASTERMIND[146]******"
  165. 5110 PRINT""
  166. 5120 PRINT"         [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  167. 5130 PRINT"         [212] ?MASTERMIND?[146] [217]"
  168. 5140 PRINT"         [212]   ???????? [146]  [217]"
  169. 5150 PRINT"         [212] ..  [213][201][213][201][213][201][213][201] [217]"
  170. 5160 PRINT"         [212]8..  [202][203][202][203][202][203][202][203] [217]"
  171. 5170 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  172. 5180 PRINT"         [212]7..  [202][203][202][203][202][203][202][203] [217]"
  173. 5190 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  174. 5200 PRINT"         [212]6..  [202][203][202][203][202][203][202][203] [217]  [209]=CORRECT"
  175. 5210 PRINT"[160]       [160][212] ..[160][160][213][201][213][201][213][201][213][201][160][217]  NUMBER"
  176. 5220 PRINT"         [212]5..  [202][203][202][203][202][203][202][203] [217]  BUT IN"
  177. 5230 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]  WRONG"
  178. 5240 PRINT"         [212]4..  [202][203][202][203][202][203][202][203] [217]  POSITION"
  179. 5250 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]"
  180. 5260 PRINT"         [212]3..  [202][203][202][203][202][203][202][203] [217]  [215]=CORRECT"
  181. 5270 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]  NUMBER"
  182. 5280 PRINT"         [212]2..  [202][203][202][203][202][203][202][203] [217]  IN CORRECT"
  183. 5290 PRINT"         [212] ..  [213][201][213][201][213][201][213][201][160][217]  POSITION"
  184. 5300 PRINT"         [212]1..  [202][203][202][203][202][203][202][203] [217]"
  185. 5310 PRINT"         [212]              [217]"
  186. 5320 PRINT"         [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
  187. 5330 PRINT"HOW MANY"
  188. 5340 PRINT"NUMBERS"
  189. 5350 PRINT"DO YOU"
  190. 5360 PRINT"WANT(1-8)?";
  191. 5370 GET L$:IF L$="" THEN 5370
  192. 5380 IF ASC(L$)<49ORASC(L$)>48+8THEN 5370
  193. 5390 PRINTL$
  194. 5400 L=VAL(L$)
  195. 5410 D(1)=INT(L*RND(TI))+1:C(1)=D(1)
  196. 5420 D(2)=INT(L*RND(TI))+1:C(2)=D(2)
  197. 5430 D(3)=INT(L*RND(TI))+1:C(3)=D(3)
  198. 5440 D(4)=INT(L*RND(TI))+1:C(4)=D(4)
  199. 5450 PRINT"WHAT ARE"
  200. 5460 PRINT"YOUR"
  201. 5470 PRINT"GUESSES?"
  202. 5480 FOR X=1 TO 8
  203. 5490 FOR J=1 TO 4:C(J)=D(J):NEXTJ
  204. 5500 FOR K=1TO4
  205. 5510 DE=1
  206. 5520 J=K
  207. 5530 GET B$(J)
  208. 5540 IF B$(J)=""THEN5530
  209. 5550 IF B$(J)=CHR$(20)AND J>1 THEN DR=1:J=J-1:GOTO 5590
  210. 5560 IF ASC(B$(J))<49 OR ASC(B$(J))>48+L THEN 5530
  211. 5570 REM PRINTB$(J)
  212. 5580 B(J)=VAL(B$(J))
  213. 5590 ON X GOSUB 5880,5900,5920,5940,5960,5980,6000,6020
  214. 5600 IF DR=1 THEN DR=0:DS=DS+1:GOTO 5530
  215. 5610 IF DS>0 THEN J=J+1:DS=DS-1:GOTO5530
  216. 5620 IF DE=0 ANDDS=0 THEN DE=DE+1:GOTO5650
  217. 5630 NEXT K
  218. 5640 J=5
  219. 5650 GETA$:IFA$=""THEN5650
  220. 5660 IF A$=CHR$(20)THENDR=1:DS=-1:J=J-1:DE=0:GOTO5590
  221. 5670 IFA$=CHR$(13)THEN5680
  222. 5680 M=0:N=0
  223. 5690 FOR I=1 TO 4
  224. 5700 IF C(I)=B(I) THEN M=M+1:C(I)=0:B(I)=20
  225. 5710 NEXT I
  226. 5720 Y=T-10
  227. 5730 IF M=4 THEN 6110
  228. 5740 FOR S=1 TO 4
  229. 5750 FOR V=1 TO 4
  230. 5760 IF B(S)=C(V) THEN N=N+1:B(S)=20:C(V)=0
  231. 5770 NEXT V:NEXT S
  232. 5780 Y=T-10
  233. 5790 IF M=1 THEN POKE Y,87
  234. 5800 IF M=2 THEN POKE Y,87:POKE Y+1,87
  235. 5810 IF M=3 THEN POKE Y,87:POKE Y+1,87:POKE Y+41,87
  236. 5820 IF N=1 THEN POKE Y+40,81
  237. 5830 IFN=2THEN POKE Y+40,81:POKE Y+41,81
  238. 5840 IF N=3 THEN POKE Y+40,81:POKE Y+41,81:POKE Y+1,81
  239. 5850 IF N=4 THEN POKE Y+40,81:POKE Y+41,81:POKE Y+1,81:POKE Y,81
  240. 5860 NEXT X
  241. 5870 GOTO 6140
  242. 5880 T=1877
  243. 5890 GOTO 6040
  244. 5900 T=1797
  245. 5910 GOTO 6040
  246. 5920 T=1717
  247. 5930 GOTO 6040
  248. 5940 T=1637
  249. 5950 GOTO 6040
  250. 5960 T=1557
  251. 5970 GOTO 6040
  252. 5980 T=1477
  253. 5990 GOTO 6040
  254. 6000 T=1397
  255. 6010 GOTO 6040
  256. 6020 T=1317
  257. 6030 GOTO 6040
  258. 6040 T=T+2*J:T1=T+54272
  259. 6050 IF DR=1 THEN POKET1,1:POKET1+1,1:POKET1+40,1:POKET1+41,1
  260. 6060 IFDR=1 THEN POKET,85:POKET+1,73:POKET+40,74:POKET+41,75:RETURN
  261. 6070 POKE T,160:POKE T+1,160:POKE T+40,160
  262. 6080 POKE T1,11:POKE T1+1,11:POKE T1+40,11
  263. 6090 POKE T+41,B(J)+48:POKET1+41,1
  264. 6100 RETURN
  265. 6110 IF M=4 THEN POKE Y,87:POKE Y+1,87:POKE Y+41,87:POKE Y+40,87
  266. 6120 IF X=1 THEN PRINT"PERFECT IN 1 TRY!!DID YOU CHEAT?!?":GOTO 6140
  267. 6130 PRINT"PERFECT IN";X;"TRIES!!!"
  268. 6140 FOR J=1 TO 4:B(J)=D(J)
  269. 6150 T=1237
  270. 6160 GOSUB 6040
  271. 6165 POKET+40,160:POKET1+40,11
  272. 6170 NEXT J
  273. 6175 POKET+32,160:POKET1+32,11:POKET1+33,11:POKET1+31,11
  274. 6177 FORU=7TO10:POKET-U,160:POKET1-U,11:NEXT
  275. 6180 PRINT"DO YOU"
  276. 6190 PRINT"WANT TO"
  277. 6200 PRINT"PLAY"
  278. 6210 INPUT"AGAIN";R$
  279. 6220 IF LEFT$(R$,1)="Y" THEN 5080
  280. 6230 PRINT"[147]"
  281. 6240 END
  282.